One of the neat things about OS 2 is the Tune Editor in the Productivity folder. This lets you edit the supplied tunes (old folk songs) or create new tunes that you may find more to your liking. I used it to create a new tune file called NewTunes that is currently making the rounds on bulletin boards. In the course of this project, I learned some interesting things that you may be able to use.
The tunes may have 20 notes, a range of about 3 chromatic octaves centered around middle C. Note values range from 1/32nd to whole note, and rests from 1/32nd to whole rest. Tempos range from a ridiculous 1 to 300 beats/minute. Only one note at a time can be played (monophonic, no harmony) and most of the usual musical techniques such as dynamics, ties, second endings, and ritards are unsupported.
The tune files are saved as [filename].$$A, and are plain ASCII text files, with each line terminated by a pipe (vertical bar). They have no header, they just start with the title line of the first song (28 chars + pipe). From there, each song also has a line that sets the tempo in Beats/Minute (4 chars + pipe), and one line for each of 20 notes.
If you like, you can edit a tune file with both the System Editor and Tune Editor at the same time. This lets you make a change in one mode, save it, and observe the change in the other. If you add notes to a song from the System Editor, only the first 20 will be played or saved in the System Editor.
Here is a table of the values used for pitches and time values.
Time Values
15 1st Note, 32nd rest
14 16th rest
13 8th rest
12 Quarter rest
11 Half rest
10 Whole rest
09 32nd note
08 16th note
07 Dotted 16th note
06 8th note
05 Dotted 8th note
04 Quarter note
03 Dotted quarter
02 Half note
01 Dotted half note
00 Whole Note
Pitch Values
20 lowest A
62 lowest A#
19 lowest B
18 low C
60 low C#
17 low D
59 low D#
16 low E
15 low F
57 low F#
14 low G
56 low G#
13 low A
55 low A#
12 low B
11 middle C
53 C#
10 D
52 D#
09 E
08 F
50 F#
07 G
49 G#
06 A
48 A#
05 B
04 high C
46 high C#
03 high D
45 high D#
02 high E
01 high F
43 high F#
00 high G
Here's a sample tune to enter for yourself. Open the tune editor, and you'll see the Default Tune 0. Go into File/SaveAs and save as TuneTest.$$A then open the System Editor and edit \OS!2\Apps\TuneTest.$$A. Make sure you're in overstrike mode, because line lengths must be exact; do this by pressing the Insert key and notice whether the cursor covers a character (overstrike) or forms a line between characters (insert). Move down to 1: not in use and enter the codes shown below. (In the following example, do not enter the comments to the right of the code; they are for your reference only.)
1: Charge! | (title)
0281| (tempo)
04 07| (quarter note, G)
04 04| (quarter note, hi C)
04 02|
04 00|
12 06|
04 02|
00 00|
10 06| (whole rest, end of song)
10 06| (rest of tune already filled with whole rests)
10 06| (stop entering code)
10 06| (I mean it!)
.
.
Now save this file, then go back to Tune Editor and open it. Choose File/Open Tune and select 1: Charge!, then Play the tune. I hope you get some ideas!